package com.yanfan.energybilling.service;


import com.yanfan.energybilling.domain.TDEnergyDeductionRecord;
import com.yanfan.energybilling.domain.dto.TDEnergyDeductionRecordDto;
import com.yanfan.energybilling.domain.vo.EnergyCostStatisticsVo;
import com.yanfan.energybilling.domain.vo.EnergyStatisticsVo;
import com.yanfan.energybilling.domain.vo.StaticRequestParamVo;

import java.math.BigDecimal;
import java.util.List;

public interface ITDEnergyDeductionRecordService {
    TDEnergyDeductionRecord selectLatestRecord(String serialNumber, String thingsModelId);

    Long selectTimeRangeLast(Long begin,Long end);

    int insertRecord(TDEnergyDeductionRecord record);

    int insertBatchRecord(TDEnergyDeductionRecordDto records);

    List<EnergyStatisticsVo> buildingEnergyStatistics();

    List<EnergyCostStatisticsVo>  energyCostStatisticsTimeWindow(StaticRequestParamVo param);

    List<EnergyCostStatisticsVo>  energyCostStatisticsTimeWindowWater(StaticRequestParamVo param);

    List<EnergyCostStatisticsVo> energyCostStatisticsTimeWindowsByDate(StaticRequestParamVo param);

    List<EnergyCostStatisticsVo>  energyConsumeStatisticsTimeWindow(StaticRequestParamVo param);

    List<EnergyCostStatisticsVo>  energyCountAllStatisticsTimeWindow(StaticRequestParamVo param);

    BigDecimal energyCost(StaticRequestParamVo param);
}
